// 通过回调函数来返回最终的值
function addInputTextBox(callBackFun, lableName, required = false) {
    //创建
    return createInputTextBox(callBackFun, lableName, required);
}

//当最后获取值的时候，直接点提交，需要检查，必填的需要进行提示
function checkInputTextBox(inputTextBoxEl) {
    // 因为可能会有多个inputTextBox，所以要单独处理
    if (inputTextBoxEl.firstElementChild.classList.contains('required-flag') && chkObjNull(inputTextBoxEl.lastElementChild.firstElementChild.firstElementChild.value)) {
        inputTextBoxEl.lastElementChild.lastElementChild.style.visibility = 'visible';
        if (!inputTextBoxEl.lastElementChild.firstElementChild.classList.contains('prompt')) {
            inputTextBoxEl.lastElementChild.firstElementChild.classList.add('prompt');
        }
        if (!inputTextBoxEl.lastElementChild.firstElementChild.classList.contains('luminescence')) {
            inputTextBoxEl.lastElementChild.firstElementChild.classList.add('luminescence');
        }
        inputTextBoxEl.lastElementChild.firstElementChild.firstElementChild.focus();
        //检验不通过
        return false;
    }
    //检验通过
    return true;
}

function createInputTextBox(callBackFun, lableName, required) {
    const inputTextBoxEl = document.createElement('div');
    inputTextBoxEl.className = 'input-text-box';
    const lableEl = document.createElement('div');
    lableEl.className = 'label-style';
    lableEl.innerText = lableName;
    if (required) {
        lableEl.classList.add('required-flag');
    }
    const contentEl = document.createElement('div');
    contentEl.className = 'content-style';
    const mianBoxEl = document.createElement('div');
    mianBoxEl.className = 'input-text-main-box';
    const inputEl = document.createElement('input');
    inputEl.type = 'text';
    inputEl.placeholder = '请输入内容...';
    const footerEl = document.createElement('div');
    footerEl.className = 'input-text-footer-box';
    footerEl.innerText = '内容不能为空！';
    mianBoxEl.appendChild(inputEl);
    contentEl.appendChild(mianBoxEl);
    contentEl.appendChild(footerEl);
    inputTextBoxEl.appendChild(lableEl);
    inputTextBoxEl.appendChild(contentEl);
    //获得焦点事件
    inputEl.addEventListener('focus', () => {
        mianBoxEl.classList.add('luminescence');
        mianBoxEl.classList.add('prompt');
    });
    //失去焦点
    inputEl.addEventListener('blur', e => {
        mianBoxEl.classList.remove('prompt');
        mianBoxEl.classList.remove('luminescence');
        //如果是必填的，检查有没有值
        if (required) {
            if (chkObjNull(inputEl.value)) {
                // 还要显示边框颜色
                mianBoxEl.classList.add('prompt');
                footerEl.style.visibility = 'visible';
            } else {
                //有内容去掉
                mianBoxEl.classList.remove('prompt');
                footerEl.style.visibility = 'hidden';
            }
        }
        //把值返回
        callBackFun(inputEl.value);
    });
    return inputTextBoxEl;
}